package org.dfrt.own.util;

import org.junit.Test;

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * @author zhang
 * ClassName: CommonUtil
 * Description: 常用工具类
 * date: 2023/10/3 19:01
 * @since JDK 8
 */
public class CommonUtil {

    /**
     * 将当前时间转换为字符串
     * @return
     */
    public static String datetimeToStr(LocalDateTime date){
        //创建日期时间对象格式化器，日期格式类似： 2020-02-23 22:18:38
        DateTimeFormatter formatter=DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        //将时间转化为对应格式的字符串
        String fomateDate=date.format(formatter).toString();

        return fomateDate;
    }

    /**
     * 将当前时间转换为字符串
     * @return
     */
    public static String dateToStr(LocalDateTime date){
        //创建日期时间对象格式化器，日期格式类似： 2020-02-23 22:18:38
        DateTimeFormatter formatter=DateTimeFormatter.ofPattern("yyyy-MM-dd");
        //将时间转化为对应格式的字符串
        String fomateDate=date.format(formatter).toString();

        return fomateDate;
    }

    /**
     * 将时间日期字符串转换为日期
     * @param date
     * @return
     */
    public static LocalDateTime strToDate(String date){
        //创建日期时间对象格式化器，日期格式类似： 2020-02-23 22:18:38
        DateTimeFormatter formatter=DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        //将时间格式字符串转化为LocalDateTime对象，需传入日期对象格式化器
        LocalDateTime parseDate=LocalDateTime.parse(date,formatter);

        return parseDate;
    }

    @Test
    public void DateTest(){
        if(isValidPassword("123123")){
            System.out.println("yes");
        }
    }

    /**
     * 判断
     * @param password
     * @return
     */
    public static boolean isValidPassword(String password) {
        // 使用正则表达式匹配密码
        String regex = "^[a-zA-Z0-9]{6}$"; // 六位数字或字母
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(password);

        return matcher.matches();
    }

}
